package com.woniuxy.pxxt.dao;


import com.woniuxy.pxxt.common.vo.train.SetUserTrainVo;
import com.woniuxy.pxxt.dto.UserScoreDto;
import com.woniuxy.pxxt.entity.UserScore;
import org.apache.ibatis.annotations.Param;

/**
 * 记录用户参与课程的情况(PxxtUserScore)表数据库访问层
 *
 * @author makejava
 * @since 2022-03-07 15:19:14
 */
public interface UserScoreDao {

    /**
     * <P>Author ideaAdmin
     * <P>TODO: 使用用户课程对象 插入数据
     * <P>Date 19:27 2022/3/7
     * <P>* @param userScore
     * <P>* @return int
     **/
    int addUserScore(UserScore userScore);

    /**
     * <P>Author ideaAdmin
     * <P>TODO: 通过用户培训的ids  设置该学员的培训状态
     * <P>Date 20:24 2022/3/8
     * <P>* @param trainId
     * @param userScoreDto list对象的封装 封装着这个用户培训表的ids
      * <P>* @return int
     * @param userScore
     **/
    int setUserStatus(@Param("userScoreDto") UserScoreDto userScoreDto,
                      @Param("userScore") UserScore userScore);

    /**
     * <P>Author ideaAdmin
     * <P>TODO: 根据用户id 课程id 更改状态
     * <P>Date 16:30 2022/3/11
     * <P>* @param setUserTrainVo
     * <P>* @return int
     **/
    int setUserStatusByUidAndTrainId(SetUserTrainVo setUserTrainVo);

    Integer findUserTrainId(@Param("id") Integer id,@Param("trainId")  Integer trainId);

    void updateExamStatus(@Param("userId") Integer userId,@Param("trainId") Integer trainId,@Param("trainStatus")Integer trainStatus);

    UserScore findTrainIdById(Integer integer);
}

